package com.example.mapper;

import com.example.model.dto.TableDTO;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

/**
 * @Author ChenYuCong
 * @Date 2022/11/1
 * @Description
 * @since 1.0
 */
@Mapper
public interface TableMapper {
    @Insert({"${sql}"})
    @ResultType(value = Integer.class)
    int updateBySql(@Param("sql") String sql);
    @Insert({"${sql}"})
    @Options(useGeneratedKeys = true, keyProperty = "id")
    int insertBySql(TableDTO tableDTO);

    @Delete({"${sql}"})
    void deleteCommonData(@Param("sql") String sql);

    @Select({"${sql}"})
    @ResultType(value = Map.class)
    List<Map<String,Object>> selectBySql(@Param("sql") String sql);

    /**
     * 通过SQL查数据条数
     * @param sql sql
     * @return int
     */
    @Select({"${sql}"})
    @ResultType(value = Integer.class)
    int selectCountBySql(@Param("sql") String sql);

}
